﻿#pragma once
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <stdbool.h>

typedef int LTDateType;

typedef struct ListNode
{
	LTDateType date;
	struct ListNode* next;
	struct ListNode* prav;
}LTNode;

//初始化
LTNode* LTInit();

//销毁链表
void LTDestroy(LTNode* phead);

//展示链表
void LTPrint(LTNode* phead);

//判断链表是否为空
bool LTEmpty(LTNode* phead);

//尾插尾删
void LTPushBack(LTNode* phead,LTDateType x);
void LTPopBack(LTNode* phead);

//头插头删
void LTPushFront(LTNode* phead, LTDateType x);
void LTPopFront(LTNode* phead);

//查找pos
LTNode* LTFind(LTNode* phead,LTDateType x);

//在pos位置之后插⼊数据
void LTInsort(LTNode* pos, LTDateType x);
void LTErase(LTNode* pos);